package com.niiwoo.civet.account.service.local.withholdProtocol;

import com.niiwoo.civet.account.dao.entity.WithholdProtocolConfirmOrder;
import com.niiwoo.civet.account.dto.response.ApplyWithholdProtocolResponseDTO;
import com.niiwoo.civet.account.dto.response.ConfirmWithholdProtocolResponseDTO;
import com.niiwoo.civet.account.dto.response.WithholdProtocolResultDTO;

import java.util.List;

/**
 * 协议代扣
 */
public interface WithholdProtocolService {

    /**
     * 申请协议代扣
     */
    public ApplyWithholdProtocolResponseDTO applyWithholdProtocol(String userId, String orgId);

    /**
     * 确认协议代扣
     */
    public ConfirmWithholdProtocolResponseDTO confirmWithholdProtocol(Long orderId, String securityCode);

    /**
     * 获取用户代扣签约结果
     * @param userId
     */
    public WithholdProtocolResultDTO getWithholdProtocolResultForLocal(String userId, String orgId);

    /**
     * 查询用户签约信息
     * @param userId
     * @param orgId
     */
    WithholdProtocolResultDTO getWithholdProtocolResultForRemote(String userId, String orgId);

    public List<WithholdProtocolConfirmOrder> getInitConfirmOrderList();

    public void autoCompensation();

    public void checkUserWithholdProtocolSigned();

}
